Digital applications are used widely for numerous scenarios in which users expect high quality performance. In many scenarios, there is little tolerance for marginal performance in execution of various applications. For example, a medical professional may need computerized assistance while treating patients remotely. For example, if an inefficient computing process causes a transition from a first page (e.g., page A) to a second page (e.g., page B) in results of a search for proper treatment of a stroke to take several seconds, a patient's health (or life) may literally be at risk due to reduced quality of performance of the application. As another example, military personnel may need computerized assistance via a mobile device while out in the field, under attack. For example, if a soldier needs to be authenticated via a login to receive information regarding enemy territory, in an area where he/she normally does not log in on his/her mobile device, and simple login screens are distorted such that the soldier is unable to decipher instructions for authentication, then the soldier's life may be in danger.
As yet another example, many applications such as connected car applications and self-driving car applications may require low latency performance. Further, per second delay in retail applications (e.g., AMAZON, BEST BUY, etc.) may result in loss of revenue and loss in conversions. In this context, digital applications may include web applications and mobile applications. For example, customers may use such digital applications to communicate with numerous types of systems in a backend, including, at least, conversational bots (e.g., for customer feedback), Internet of things (IoT) solutions (e.g., home automation), and domain related web services (e.g., finance, retail, hospitality (hotels, travel)).
Testing for quality performance of digital applications traditionally occurs on a server (e.g., on a backend), and may not account for variations in locale or operating conditions. Further, traditional testing may not analyze front end loading performance in realistic execution conditions, to determine potential optimizations that may aid in performance of the digital application. Further, traditional testing may not provide any recommendations for front end performance improvements, and may only collect timing measurements using javascripts running on a page. Additionally, traditional remedial actions may require manual code modifications, with tedious testing before deploying or re-deploying the modified application. Even further, it may be difficult, or even impossible, to accurately determine modifications to the design of an application, that may improve performance of the application.
There is a need in the art for a system and method that addresses the shortcomings discussed above.